The widespread availability of optical image capture devices, such as cameras, implemented on, or with, computing systems, such as mobile devices and smart phones, has resulted in a significant number of applications and systems that rely on the ability to extract data from optical images of hard copies of documents in order to obtain various types of information.
For instance, many currently available financial management systems, financial transaction management systems, tax-preparation systems, and various other data management systems, obtain data from optical images of source documents processed using Optical Character Recognition (OCR) systems, or similar data extraction technologies. As a more specific illustrative example, Remote Deposit Capture, (RDC) is currently used with many on-line banking systems.
While the use of optical images and data extraction technology provides some capability to obtain information with minimal user input, there are several issues associated with these methods. One long-standing problem associated with using optical images and data extraction technology to obtain data is related to the fact that the optical image of the source document must be of sufficient quality to allow the data extraction technology to identify and extract the individual characters and symbols represented in the optical image of the source document. There are many possible reasons why the optical image of a source document may not be of sufficient quality to allow the data extraction technology to identify and extract the individual characters and symbols including, but not limited to, bad/incorrect focus; the camera had focus lock, but was in motion; poor lighting conditions; poor print quality of the source document; a cropped image of the source document; and/or a skewed image of the source document.
Currently, significant delay and processing inefficiencies are incurred when the optical image of a source document is not of sufficient quality, and before a user is informed of the unacceptable quality of a captured optical image of a source document. This is largely due to the current practice of optically scanning the entire source document and then transferring the image data for the entire source document to a remote server for processing. Currently, only then is the user informed if the quality of a captured optical image of a source document is unacceptable; in which case the entire process must be repeated again.
As an example, currently, when mobile devices, such as smart phones, are used to obtain the optical image of a source document, the user typically has no indication as to the quality of the optical image captured until the entire optical image has been processed by one or more OCR processing computing systems. To make matters worse, these OCR processing computing systems are often remote systems, such as remote servers or other OCR devices, which must be accessed through a network connection, such as an Internet connection. As a result, the user must often wait significant amounts of time, and use significant processing power and transmission bandwidth, before the user is notified that the quality of an optical image is not high enough for processing. Once the user is finally notified, the user must then start the process over again with no assurance that the next captured image will be any better. Consequently, currently, the use of optical images and data extraction technology to obtain data can be a time consuming, frustrating, and highly inefficient process.
As an even more specific illustrative example, using currently available methods, when the optical image of the source document is a picture of check's front, the user has to wait until the remote image analysis server responds to determine whether the captured image is acceptable. This typically takes around 20 seconds. Then the same processing time is required to process the check's back side adding a total delay of more than 40 seconds; and this is if everything goes well. If any part of the check's front or back image data is not acceptable, the entire process must be repeated, in some cases multiple times. Clearly, this can be a frustrating and inefficient process for both the user and the check processor.
What is needed is a method and system for informing the user of potentially low quality optical image data without waiting for the entire optical image to be processed and/or transmitted.